﻿#include "myMusic.h"
#include "loginwidget.h"
#include <QApplication>
#include <QSharedMemory>
#include <QMessageBox>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // 创建共享内存
    QSharedMemory shareMemory("myMusic");

    if(shareMemory.attach())
    {
        // 共享内存被占用，说明有实例在运行
        QMessageBox::information(nullptr, "myMusic", "myMusic已经在运行.....");
        return 0;
    }

    shareMemory.create(1);

    // 创建登录窗口
    LoginWidget* login = new LoginWidget();
    login->show();

    // 创建主窗口但不显示
    Widget w;
    
    // 连接登录成功信号
    QObject::connect(login, &LoginWidget::loginSuccess, [&w, login](const QString& username) {
        w.setCurrentUser(username); // 设置当前用户
        w.show(); // 显示主窗口
        login->hide(); // 隐藏登录窗口
    });

    return a.exec();
}
